﻿//《C语言从入门到精通》P235
// 第 7 章 指  针
// 7.3 二维数组与指针
// 46、输出二维数组的指定元素

#include<stdio.h>

int main()
{
	int a[3][4] = { 0,1,2,3,0,1,4,9,0,1,16,27 };
	//int a[3][4] = { 0,1,2,3,4,5,6,7,8,9,10,11 };
	int* p = a[0];
	int(*q)[4] = a;		// 定义一个指针变量，它指向包含4个整型元素的一维数组
	int i = 0, j = 0;

	for (p = a[0]; p < a[0] + 12; p++)
	{
		if ((p - a[0]) % 4 == 0)	// 每行输出4个元素
		{
			printf("\n");
		}
		printf("%4d", *p);
	}
	printf("\n");

	printf("输入行列下标：\n");
	printf("行：i = ");
	scanf_s("%d", &i);
	printf("列：j = ");
	scanf_s("%d", &j);

	//q = a;
	printf("查询的元素为：a[%d][%d] = %d", i, j, *(*(q + i) + j));

	return 0;
}
